Starting from scratch

Started by
14 comments, last by Ariste 14 years, 8 months ago
I'm obviously one of the many wanting to get started in game development. A friend and I want to learn it all from start to finish, but we are absolutely clueless as to where to start. I have recent ordered "Beginning C++ through game programming" and it's on the way. But I know good and well that game programmers these days don't just sit and enter in C++ text constantly all day do they. Aren't there programs that take shortcuts? For example, I know that when you are designing a level you don't sit there and enter in code by code until an entire level is designed; you use a level designer that kind of sets it all up for you. I know i need to learn C++, but how in depth do i need to get, and at what point in the game development process will i actually be sitting there entering code. I also need to know what engines most people use when designing games, and what level editors and 3d modeling programs are typical. I don't expect you all to sit here and type out every answer (you can if you want), but a link would be great.
Advertisement
I dont know about everyone else or about the 3D part of your question, but the level editor one I can help you with.

I designed one for my games, it never took that long and all you need is a good handle on pointer before you create a level editor, well you don't but it helps.

my "level editor" is just any text editor, I created a function which designes a a two dimensional array and then places the numbers from the text file into it.

The text file for example would look like this:

01 01 01 01 01
01 00 00 00 01
01 00 00 00 01
01 00 00 00 01
01 01 01 01 01

the game would then just loop through and say ok 01, so thats image 1

now if you create a second file containing the exact same thing you could get the program to say ok this file is about effects so this on is 01 so it can't be walked on or passed through.

I don't know if your planning on using directx, opengl or what ever but I know I use SDL and its cross-platform compatible, and a brilliant website for learning is this one.

http://lazyfoo.net/SDL_tutorials/index.php

It shows you how to install it and then how to do everything else.

Hope it helped
I guess what I really want is a rough bulleted list of the steps of making a game, but very simple, something quick. I know i need to have an idea first, but then how do i get started (assuming i know everything about making a game). do I start writing code? and what program should I use? Or should I use level editors and such first?
What's up Carawayboy,

Considering that you are ordering a programming book on C++/game programming, I'm assuming that you have minimal to no experience with core C++? How much about games do you know?
Haha. I know a lot about games, but when it comes to making games i know next to nothing. I know some program names, like Maya, and the Unreal Engine, DirectX, Open GL. I just don't know the order of each and how they fall into developing a game. I don't know a single thing about programming so I'm starting with that. I know that i do need to know basic core C++ to do anything.
Alright, well here's what I got,

What you want to do is learn C++, then

Pick a game library, which basically is a bunch of tools used to make the game.
Some game libraries pretty much include tools that you may need so you can code them in your game as you need it (object collisions, physics) but others, on the other hand, don't include those and only give you the elementary concepts (putting pixels on the screen, keyboard input) and you have to actually build almost everything from scratch.

It all depends on how much of it you actually want to do yourself. OpenGL, DirectX, all of those are different routes you can take and in some places you can combine them. Personally, I'm an indie programmer so I chose to do everything myself.

[Edited by - nGamer on August 18, 2009 9:52:36 AM]
ok...that helps a bunch with giving me an idea of what I need to do. Do you know of any specific resources, like a book or a website that can give me more specific details. Also, where should i go to find a game library?

Also...what exactly is OpenGL and DirectX? What do they do, and what kind of program are they?
This is a video which should help you:

">Intro to Game programming

OpenGL is strictly is graphics library
DirectX is Microsoft's API for multimedia applications including game programming

I use Allegro which is great for me, if you are doing 3D stuff though, don't do Allegro. Try OpenGL for 3D, but you'll have to find a separate library for sound and text input.

[Edited by - nGamer on November 15, 2009 4:10:38 PM]
I don't think there's a point at which programmers stop 'entering code.' It's like asking at what point a conductor stops driving trains; the answer is, the day he ceases to be a conductor.

Programmers use shortcuts, but they are largely comprised of libraries of code that abstract a given concept. A 3D engine, for example, abstracts the technical details of hardware vertex buffers and line drawing algorithms. It allows the programmer to focus on what's important to him, like the visual world of his game. A level editor is a tool that abstracts the creation of a game world by masking engine function calls with a simpler interface. instinct46's 'level editor' uses an array of numbers, which the engine reads and interprets; more complex ones use more complex interfaces.

Before you start puzzling over level editors and 3D modeling software, learn a programming language. It doesn't have to be C++ (in fact, many would tell you it shouldn't be C++), but you need to know one of them. When you feel comfortable with it, try writing simple text games. Then move on to 2D graphics. And remember as you go that what you're learning is a language, just like any other. You've first got to learn how to read it and write it; it's only after that the real fun begins.
You have to learn programming first.
I started with C (Borland C 2.0!!) and wrote some really simple programs (prime number finder etc.). Than some openGL.

I made a game (or more like a demo):
", target="_blank">here
I wrote it from starch, I didn't use physics libraries.

1.I made a small scene with some objects(quads), with basic mouse and keyboard handling (with glut->google it), and texturing, lighting
2.I wrote a .3ds loader, and made a model in 3dsMax (demo version!).
3.Made the tank model move based on real life on a flat quad.
4.Left glut and learned a bit of Win32 programming to set up openGL, and to handle events, and learned to put text to the window.
4.Made lens effect, and textures for it(photoshop gradient than polar coordinates).
5.Made a very simple terrain in 3dsMax, and wrote a very basic terrain following system, and added some trees (alpha mapping), made sky dome (downloaded texture for it).
6.Improved it to a simple physics model (only 3 points with springs and dumpers)
7.Wrote a very simple bullet physics with terrain and a target (quad) collision, and putting decals.
8.Made the muzzle flash, and terrain explosion particle systems.
9.Improved the tank model, and the vehicle physics (rigid body), and made the wheels' and the tracks' motion.
10.Made simple shadow mapping (with no textures first, than with multitextures).
11.Made the collision detection and response.
12.Made the other particle systems,
13.Moved to heightmap terrain, and cascade shadow mapping, and changed many things related to it(for example the lens effect)
14.Optics etc...

Than after all this, would I start bothering with level/terrain editor coding (which I won't)

An important thing, when I moved to a next task, I always drew some test points, meshes, lines etc. first, and always wrote important values to the screen.

edit: I think no one cares of this story, but it was a good opportunity to advertise my demo.

This topic is closed to new replies.

Advertisement